# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class InstanceClassSpec(object):

    def __init__(self, nodeClass=None, nodeDiskGB=None, nodeDiskType=None, nodeCount=None, masterClass=None, masterDiskGB=None, masterDiskType=None, masterCount=None, coordinatingClass=None, coordinatingDiskGB=None, coordinatingDiskType=None, coordinatingCount=None):
        """
        :param nodeClass: (Optional) data节点规格代码，详细规格请参考：https://docs.jdcloud.com/cn/jcs-for-elasticsearch/specifications
        :param nodeDiskGB: (Optional) data节点存储大小，单位GB。单点存储规格范围20-4000GB，只允许输入整数且步长为10GB，
        :param nodeDiskType: (Optional) data节点存储类型，包括zbs(性能型SSD云盘)、ssd.gp1(通用型SSD云盘)、hdd.std1(容量型HDD云盘)，默认zbs
        :param nodeCount: (Optional) data节点数量，各region和可用区的节点数量规格限制不完全相同，详情请参考：https://docs.jdcloud.com/cn/jcs-for-elasticsearch/restrictions
        :param masterClass: (Optional) master节点规格代码，与data节点规格代码一致。
        :param masterDiskGB: (Optional) master节点存储大小，固定为20GB，不可调整
        :param masterDiskType: (Optional) master节点存储类型，默认zbs
        :param masterCount: (Optional) master节点数量，固定为3，不可调整
        :param coordinatingClass: (Optional) coordinating节点规格代码，与data节点规格代码一致。
        :param coordinatingDiskGB: (Optional) coordinating节点存储大小，固定为20GB，不可调整
        :param coordinatingDiskType: (Optional) coordinating存储类型，默认zbs
        :param coordinatingCount: (Optional) coordinating节点数量，各region和可用区的节点数量规格限制不完全相同，详情请参考：https://docs.jdcloud.com/cn/jcs-for-elasticsearch/restrictions
        """

        self.nodeClass = nodeClass
        self.nodeDiskGB = nodeDiskGB
        self.nodeDiskType = nodeDiskType
        self.nodeCount = nodeCount
        self.masterClass = masterClass
        self.masterDiskGB = masterDiskGB
        self.masterDiskType = masterDiskType
        self.masterCount = masterCount
        self.coordinatingClass = coordinatingClass
        self.coordinatingDiskGB = coordinatingDiskGB
        self.coordinatingDiskType = coordinatingDiskType
        self.coordinatingCount = coordinatingCount
